/****************************************************************************
**
** Authors: Antonio Marcio A Menezes, Emanuel Grohs.
**
** This file is part of the Qt Board Game Framework.
**
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.LGPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/

#ifndef BOARDGAME_H
#define BOARDGAME_H

#include <QList>
#include "zone.h"
#include "player.h"
#include "actioncommand.h"

namespace qtbf {
    class BoardGame;
}

class qtbf::BoardGame
{
public:
    BoardGame();
    virtual QList<Zone> defineZones(QList<Player> players) = 0;
    virtual Player nextPlayer() = 0;
    QString validadeAction(ActionCommand action);
    virtual QString afterValidateAction(ActionCommand action) = 0;
};

Q_DECLARE_INTERFACE(qtbf::BoardGame, "qtbf.BoardGame/1.0")

#endif // BOARDGAME_H
